

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HF2F(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HF2F.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HF2F, self).__init__(name='HF2F', num_nodes=7, edges=[])
        
        # Add the edges
        self.add_edges([(4, 0), (0, 3), (5, 1), (6, 1), (2, 5), (3, 6)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """F2F"""
        self["GUID__"] = UUID('ca49f17e-fd9f-42c2-90c8-e2e9d7f79cde')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """apply_contains"""
        self.vs[0]["GUID__"] = UUID('d839a455-b035-4ee7-b40f-0035d5d1b231')
        self.vs[1]["mm__"] = """Female_S"""
        self.vs[1]["name"] = """f"""
        self.vs[1]["GUID__"] = UUID('4e5e4c2c-0ce8-432c-a6cc-65c026a29bb7')
        self.vs[2]["mm__"] = """MatchModel"""
        self.vs[2]["GUID__"] = UUID('7b9c7548-bf92-46d8-9c8c-728f93fbf4dc')
        self.vs[3]["mm__"] = """Female_T"""
        self.vs[3]["name"] = """f"""
        self.vs[3]["GUID__"] = UUID('4b3d1f83-d648-40ac-9b94-67e5368f1040')
        self.vs[4]["mm__"] = """ApplyModel"""
        self.vs[4]["GUID__"] = UUID('6c834872-84ed-4f5d-8036-18fe1c5ff01a')
        self.vs[5]["mm__"] = """match_contains"""
        self.vs[5]["GUID__"] = UUID('fab96a79-8e24-4e55-aced-86c4a29ca103')
        self.vs[6]["mm__"] = """backward_link"""
        self.vs[6]["GUID__"] = UUID('159ac8ba-5cc2-4ef3-bb29-e147df0c7799')

